Networks have enhanced our ability to communicate and access information by allowing one personal computer to communicate over a network (or network connection) with another personal computer and/or other networking devices, using electronic messages. When transferring an electronic message between personal computers or networking devices, the electronic message will often pass through a protocol stack that performs operations on the data within the electronic message (e.g., packetizing, routing, flow control).
Modern printers, scanners, faxes, and copiers include many security features to prevent against misuse. For example, security features are added to prevent users from making copies of currency, coupons, valuable papers, and other documents. However, in any environment it is occasionally possible for malicious users to use various attacks to bypass security features.
Due to the complexity of software available in complex printers, scanners, fax, and copiers the possibility of stack overflow can be very high. The impact of a successful attack can also be damaging as it may allow secure data to be viewed and manipulated by unauthorized users. To prevent against this class of security issue, it would be desirable to implement a method of preventing malicious code from being executed by a malicious user due to a stack overflow condition via a stack overflow attack.
It can be appreciated that there are many options available to an attacker once a vulnerability has been identified and exploited on an image forming device, such as an all-in-one (AIO), or multifunction printer. Because of this, an exhaustive list of potential security issues is difficult to quantify. However, bypass of known and documented security features is certainly included in the list of security risks.
For example, secure printers have a feature known as confidential print or “ID and Print” where a user can request a print, yet the printer will not begin ejecting sheets until the document owner is physically present at the printer and has successfully authenticated via inputting a correct username/password combination, swipe card, biometric security device or other method. The “ID and Print” security feature prevents unauthorized users from viewing secure printouts when the document owner is not physically present at the printer. However, if an attack is so tailored such that printing begins before the document owner has physically authenticated with the printer, then the security feature is bypassed and unauthorized access to the document becomes possible.
It can also be appreciated that counterfeit protection is an area of concern. Copiers may include counterfeit protection to prevent counterfeiters from making high-quality reproductions of currency, coupons, valuable papers, and other documents. If such a security feature is bypassed due to a successful attack, then high-quality counterfeit copies can be made by unscrupulous users.
In addition, in many image forming apparatuses or printers, data is stored to an internal hard disk as a part of the printing process. To prevent unauthorized users from removing the hard drive and viewing the print jobs of others an encryption can be applied to the print data. However, if an attacker is able to modify the encryption process and store raw data to the hard disk (or copy the raw data before encryption begins) then it may become possible for the attacker to view the secure print, copy, etc. data of others.
Accordingly, for these reasons, and others, it is desirable to include security features, which prevent against bypass or modification of secure processes of image forming apparatuses by preventing execution of code, which is located on the stack to help meet this goal given the security risks.